The Internet, like so many other high tech developments, grew from research originally performed by the United States Department of Defense. In the 1960s, the military had accumulated a large collection of incompatible computer networks. Computers on these different networks could not communicate with other computers across their network boundaries.
In the 1960s, the Defense Department wanted to develop a communication system that would permit communication between these different computer networks. Recognizing that a single, centralized communication system would be vulnerable to attacks or sabotage, the Defense Department required that the communication system be decentralized with no critical services concentrated in vulnerable failure points. In order to achieve this goal, the Defense Department established a decentralized standard communication protocol for communication between their computer networks.
A few years later, the National Science Foundation (NSF) wanted to facilitate communication between incompatible network computers at various research institutions across the country. The NSF adopted the Defense Department's protocol for communication, and this combination of research computer networks would eventually evolve into the Internet.
Internet Protocols
The Defense Department's communication protocol governing data transmission between different networks was called the Internet Protocol (IP) standard. The IP standard has been widely adopted for the transmission of discrete information packets across network boundaries. In fact, the IP standard is the standard protocol governing communications between computers and networks on the Internet.
The IP standard identifies the types of services to be provided to users and specifies the mechanisms needed to support these services. The IP standard also specifies the upper and lower system interfaces, defines the services to be provided on these interfaces, and outlines the execution environment for services needed in the system.
In a typical Internet-based communication scenario, data is transmitted from an originating communication device on a first network across a transmission medium to a destination communication device on a second network. After receipt at the second network, the packet is routed through the network to a destination communication device using standard addressing and routing protocols. Because of the standard protocols in Internet communications, the IP protocol on the destination communication device decodes the transmitted information into the original information transmitted by the originating device.
The IP-based Mobility System
The Internet protocols were originally developed with an assumption that Internet users would be connected to a single, fixed network. With the advent of cellular wireless communication systems using mobile communication devices, the movement of Internet users within a network and across network boundaries has become common. Because of this highly mobile Internet usage, the implicit design assumption of the Internet protocols (e.g. a fixed user location) is violated by the mobility of the user.
In an IP-based mobile communication system, the mobile communication device (e.g. cellular phone, pager, computer, etc.) can be called a mobile node or mobile station. Typically, a mobile station maintains connectivity to its home network while operating on a visited network. The mobile station will always be associated with its home network for IP addressing purposes and will have information routed to it by routers located on the home and visited networks.
Packet-based Communication Systems
In Internet Protocol (IP) networks, the communication process is very different from prior conventional telecommunication systems. In an IP network communication, there is no open switched connection established between the caller and recipient devices. The information being transmitted between the caller and recipient devices is broken into packets of data, and each packet of data is transmitted to the recipient device in pieces. The data packets individually contain routing information to direct each packet to the recipient device. These packets are then reassembled into a coherent stream of data at the recipient device.
Current Code Division Multiple Access (CDMA) is an evolving third generation communication system standard for wireless communication systems that can transmit multimedia services using the packet-based Internet protocol. These CDMA mobile communication systems support multimedia telecommunication services delivering voice (VOIP) and data, to include pictures, video communications, and other multimedia information over mobile wireless connections.
As the capability of the various communication standards have improved, there has been an increasing need for high-speed transmissions and increased user capacity. A new CDMA packet air interface has been developed that offers improvements over earlier CDMA systems by implementing high-speed shared-traffic packet data channels on the forward air-link connection. Recent developments include CDMA-based 1xEVsystems operating at 1.25 MHz. The 1.25 MHz carrier delivers high data rates and increased voice capacity. I xEV is a two-phase strategy. One phase is designated 1xEV-DO, which handles data only. The 1xEV-DO standard provides user with peak data rates of 2.4 Mbits/s. The other phase is 1xEV-DV, for data and voice. Other standards are evolving that also make use of the shared packet channel and multiplex packet communication for high-speed data and voice communication.
The common shared packet channel approach used in these standards permits efficient multiplex packet communications to/from applications with bursty traffic. Using the new interface improves downlink transmission speed by ˜500%, increases available applications (such as multi-user gaming and downloads of music and films), and increased cell user capacity by ˜1000%. Earlier embodiments use a “best effort” operational approach to provide acceptable service for all applications. However, the newer real-time, multimedia, and multicasting applications fail to function adequately under the “best effort” method.
In the high-speed, shared-traffic packet channel systems, packet allocation (e.g. bit and time) requires a packet scheduler. A packet scheduler operates to allocate available resources of time, code, or power to the packet data users, determine bit rate and duration of the allocation, determine the transport channel, monitor the packet allocations and the system loads, allocate the shared channels, and regulate the network load by increasing or decreasing the bit rates. The shared channels use a single orthogonal code shared with other packet users to establish a dedicated channel in a time division approach.
In order to maximize capacity for a fixed outage criterion, the appropriate scheduler must be implemented. In general, delay-sensitive traffic, such as VoIP, possesses certain outage criteria associated with the traffic load in the network. For example, the greater the number of VoIP users that are actively served per sector, the greater the delay in serving the users due to the heavier traffic load and the employed scheduling methodology. Consequently, optimizing the scheduler is important for efficient utilization of the air-link spectrum by a maximum number of users while meeting the pre-defined delay bounds specified by the operator.
As the frame end-to-end delay increases in the system, the quality of service degrades for time sensitive applications such as VoIP. At some point, the system blocks access for new users to ensure that current active users in the system maintain a specified quality of service grade. Several approaches have been used in the past to allocate system resources that have not proven entirely satisfactory.
In the round robin approach, each user with available packets in the buffer is served one at a time. If the user does not have packets in the buffer, then that user is skipped. While no user is left without any allocation, no channel conditions are used for the allocation. Therefore, when a user's turn approaches, irrespective of the channel rate the user can get, the packet scheduler transmits as many bits out of the buffer as possible. However, if the rate scheduled is low due to the channel condition, relatively few bits are transmitted. By the time the user's turn comes around again, the packet delay bound (e.g. QoS criteria) may have been exceeded. Consequently, this type of scheduler cannot maximize the capacity for a give QoS or outage criterion.
In the maximum granted rate approach, the user with the maximum rate is assigned a highest priority. This maximizes the sector throughput and quality for a select few users in good channel conditions. However, the majority of users will not receive adequate resource allocation and capacity will be minimized for a given QoS and outage criterion.
The proportional fair approach scheduler makes allocations based on fairness without attempting to meet a delay bound criterion. The scheduler selects the user with data in the buffer and with the highest priority based on the ratio of R(t)/RR(t); where R(t) is the rate that can currently be granted to the user, and RR(t) is the average rate of the user over a period of time. Therefore, if a user fails to receive adequate allocation for sufficient time, then RR(t) reduces and the ratio of R(t)/RR(t) increases so there is a higher likelihood that the user will be selected. However, the scheduler does not take delay into consideration, so the capacity cannot be maximized for a given QoS or outage criterion.
The proportional plan scheduler is designed to allocate resources by combining proportional fair concepts in addition to delay concepts. However, this method fails to maximize capacity for a given QoS criterion and does achieve any better results than the others described above.
There is a need for a packet scheduler that takes the channel conditions of what one user may observe compared to another user into account to leverage the inherent multi-user diversity that exists with a large pool of users. Such an approach can considerably improve the capacity for a fixed outage criterion.